package com.daji.concurrency.multithread_fundamental;

/*
    一个线程还可以等待另一个线程直到其运行结束。
    例如，main线程在启动t线程后，可以通过t.join()等待t线程结束后再继续运行：
* */
public class A02_Join {
    public static void main(String[] args) throws InterruptedException {
        Thread t = new Thread(() -> {
            System.out.println("hello");
        });
        System.out.println("start");
        t.start();
        //观察注释掉下面代码和不注释掉下面代码的区别：
        t.join();
        //其实join很好理解，就是让t线程加入主线程。t.start之后如果主线程继续运行，会碰到t.join
        //然后主线程会等t执行完了再执行。和串行类似
        System.out.println("end");
    }
}